home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / komei4 / komei4.exe / ICON / BT1.HD6 < prev    next >
Text File  |  1993-06-10  |  5KB  |  406 lines

  1. ds_name        db    'MOJ\BT1',0
  2.  
  3. ; I_GA の前に初期化が必要
  4.  
  5. dt1:
  6.     call    sub_edi
  7.     dw    0
  8.     db    'I_GA',0
  9. dt2:
  10.     call    sub_edi
  11.     dw    0
  12.     db    'END1',0
  13.  
  14. p_call:
  15.     M_P_CALL
  16. p_set:
  17.     M_P_SET
  18.  
  19. paint_wd:
  20.     SET_P    dt1
  21.     SET_P    dt2
  22.     call    u_con_set
  23.  
  24. re_paint:
  25.  
  26.      WD_CLS 0
  27.      BOX boxdt,2
  28.      BOX boxdt1,5
  29.      MARU marudt1,5
  30.      MARU marudt2,5
  31.      MARU up_mdt,2
  32.      MARU down_mdt,2
  33.  
  34.      MOZI    mozidt
  35.  
  36.  
  37.      ret
  38.  
  39. u_con_set:
  40.  
  41.      call e_data1
  42.      call f_size
  43.      call ds_size
  44.      mov [esi],ecx
  45.  
  46.     RAM0 edi
  47.     call e_data1
  48.     call load
  49.     call    set2
  50.     jmp    set3
  51.  
  52.  
  53. set2:
  54.     call ds_size
  55.     mov ecx,[esi]
  56.  
  57.     push es
  58.     mov ax,114h
  59.     mov es,ax
  60.  
  61.     mov edi,1024*3
  62.  
  63.     RAM0 ebx
  64.     mov esi,ebx
  65.     cld
  66.     rep movsb
  67.     pop es
  68.     ret
  69.  
  70. set3:
  71.     mov    ah,100
  72.     mov    al,35        ;16c icon data の場所
  73.  
  74.     mov    dx,114h
  75.     mov edi,1024*3
  76.     call    komei
  77.  
  78.     ret
  79.  
  80. ;**************************************
  81. e_data1:
  82.     call sub_edx
  83.     db 'ICON\TIL\NO1.TIL',0
  84.  
  85. e_data2:
  86.     call sub_edx
  87.     db 'ICON\TIL\NO2.TIL',0
  88.  
  89. e_data3:
  90.     call sub_edx
  91.     db 'ICON\TIL\NO3.TIL',0
  92.  
  93. e_data4:
  94.     call sub_edx
  95.     db 'ICON\TIL\NO4.TIL',0
  96.  
  97. e_data5:
  98.     call sub_edx
  99.     db 'ICON\TIL\NO5.TIL',0
  100.  
  101. ds_size:
  102.     call sub_esi
  103.     dd    ?
  104.  
  105. f_size:
  106.     M_BYTESU
  107.  
  108. load:
  109.     M_LOAD
  110. save:
  111.     M_SAVE
  112.  
  113. p_con:
  114.     mov    ah,2
  115.     mov    al,0
  116.     call    MOUSE
  117.  
  118.     mov    ah,100
  119.     mov    al,31
  120.     call    komei1
  121.  
  122.     mov    ah,2
  123.     mov    al,1
  124.     call    MOUSE
  125.     ret
  126.  
  127.  
  128. be_called:
  129.     YOMU    ax,300
  130.     cmp    ax,400
  131.     je    neru
  132.     cmp    ax,500
  133.     je    okiru
  134.     ret
  135. neru:
  136.     WD_ERZ 1
  137.     WD_ERZ 0
  138.     WD_LEFT
  139.     ret
  140. okiru:
  141.     WD_WANT
  142.     jmp    re_paint
  143.  
  144.  
  145.  
  146. mouse_in:                   ;諸葛亮よりwindowにマウスが入ったと言って来た。
  147.       cmp ch,1          ;左ボタンが押されていれば
  148.       je mouseck        ; 何処の箱か調べさせる
  149.       ret
  150.  
  151. mouseck:
  152.     MOU    boxdt,2
  153.      cmp bx,1                  ;bx=1 find
  154.      je short mck1             
  155.      ret
  156.  
  157. ck_mouse:
  158.     M_KENMS
  159.  
  160. mck1:
  161.     push    eax
  162.  
  163.     MOZI    mozidt1
  164.  
  165.     BOX    boxdt2,1
  166.     MOZI    mozidt2
  167.  
  168.     KAKU    word ptr 300,1
  169.     KAKU    dword ptr 302,7
  170.     CALL_P    dt2
  171.  
  172.     pop    eax
  173.     cmp    ax,1
  174.     je    mck2
  175.     jmp    mck6
  176. ;---------------------------------
  177. ;til load
  178.  
  179. mck2:
  180.     call    ck_mouse
  181.     cmp    ch,0
  182.     je    mck2
  183.     cmp    ch,1
  184.     je    mck3
  185.     jmp    mck5
  186. mck3:
  187.     MOU    boxdt1,5
  188.     cmp    bx,1
  189.     je    mck4
  190.     jmp    mck2
  191. mck4:
  192.     push    eax
  193.     call    g_fnum
  194.     push    edx
  195.  
  196.      call f_size
  197.      call ds_size
  198.      mov [esi],ecx
  199.      cmp    ecx,0
  200.      je    mck10
  201.  
  202.  
  203.     RAM0 edi
  204.     pop    edx
  205.     call load
  206.     call    set2
  207.  
  208.     pop    eax
  209.     dec    eax
  210.     mov    bx,33
  211.     mul    bx
  212.     add    ax,11
  213.  
  214.     call    up_mdt
  215.     mov    bx,[edi+26]
  216.     mov    [edi+6],bx
  217.     mov    [edi+26],ax
  218.     mov    word ptr [edi+36],10
  219.     MARU    up_mdt,2
  220.     KAKU    word ptr 300,1
  221.     CALL_P    dt1
  222.     jmp    mck5
  223.         
  224.  
  225.  
  226. mck5:
  227.      BOX    boxdt2,1
  228.      BOX    boxdt1,5
  229.      ret
  230. mck10:
  231.     pop    edx
  232.     pop    eax
  233.     jmp    mck5
  234. ;--------------------
  235. ;    til save
  236.  
  237. mck6:
  238.     call    ck_mouse
  239.     cmp    ch,0
  240.     je    mck6
  241.     cmp    ch,1
  242.     je    mck7
  243.     jmp    mck5
  244.  
  245. mck7:
  246.     MOU    boxdt1,5
  247.     cmp    bx,1
  248.     je    mck8
  249.     jmp    mck6
  250.  
  251. mck8:
  252.     push    eax
  253.  
  254.     RAM0    edi
  255.     push ds
  256.     mov ax,114h
  257.     mov ds,ax
  258.     mov esi,1024*3
  259.     mov    ecx,512*64
  260.     cld
  261.     rep movsb
  262.  
  263.     pop ds
  264.     pop    eax
  265.     push    eax
  266.  
  267.     call    g_fnum
  268.     RAM0    edi
  269.     mov    ecx,512*64
  270.     call    save
  271.  
  272.     pop    eax
  273.     dec    eax
  274.     mov    bx,33
  275.     mul    bx
  276.     add    ax,11
  277.     call    down_mdt
  278.     mov    bx,[edi+26]
  279.     mov    [edi+6],bx
  280.     mov    [edi+26],ax
  281.     mov    word ptr [edi+36],10
  282.     MARU    down_mdt,2
  283.     jmp    mck5
  284.  
  285.  
  286.  
  287. g_fnum:
  288.     cmp    ax,1
  289.     je    g_f1
  290.     cmp    ax,2
  291.     je    g_f2
  292.     cmp    ax,3
  293.     je    g_f3
  294.     cmp    ax,4
  295.     je    g_f4
  296.     cmp    ax,5
  297.     je    g_f5
  298.  
  299. g_f1:
  300.      call e_data1
  301.     ret
  302. g_f2:
  303.      call e_data2
  304.         ret
  305. g_f3:
  306.      call e_data3
  307.         ret
  308.  
  309. g_f4:
  310.      call e_data4
  311.         ret
  312. g_f5:
  313.      call e_data5
  314.     ret
  315.  
  316. ;--------------------------------------------
  317. ;         look_me   諸葛亮に読ませるwindowデータです。
  318.  
  319. look_me:
  320.      call sub_esi         ; esi 固定です。
  321.      dd 0,0
  322.      dw     1    ; ここが 1 の物は open start です。
  323.          dw      0
  324.          dw  56+8,130,0,270,15,0,0,0
  325.  
  326.  
  327. ;----------------------
  328. ;   関策に読ませるboxデータです。名前は自由です。
  329.  
  330. marudt1:
  331.     call sub_edi
  332.         dw    5,10,10,11,36,33,0,11,0,0
  333. marudt2:
  334.     call sub_edi
  335.         dw    5,10,10,11,36+50,33,0,11,0,0
  336. up_mdt:
  337.     call sub_edi
  338.         dw    1,10,10,11,36,33,0,11,0,0
  339.         dw    1,10,10,11,36,33,0,11,10,0
  340.  
  341. down_mdt:
  342.     call sub_edi
  343.         dw    1,10,10,11,36+50,33,0,11,0,0
  344.         dw    1,10,10,11,36+50,33,0,11,0,0
  345.  
  346.  
  347.  
  348. boxdt1:
  349.     call sub_edi
  350.         dw    5,32,32,1,50,33,0,15,0,0
  351.  
  352. boxdt:
  353.     call sub_edi
  354.         dw    2,40,22,30,10,0,100,15,0,0
  355. boxdt2:
  356.     call sub_edi
  357.         dw    1,20*8+3,22,72,10,0,100,0,0,0
  358.  
  359. mozidt:
  360.     call sub_edi
  361.            dw    0        ;screen_no
  362.            dw    15      ; mozi_color
  363.            dw    30+5      ; 書き出し位置  x
  364.            dw    10      ;          y
  365.            dw    0      ; next offset x
  366.            dw    100      ; next offset y
  367.     
  368.                dw   2      ; gyo suu
  369.                    db    'LOAD',0
  370.                    db    'SAVE',0
  371.                 dw 0,0
  372. mozidt2:
  373.     call sub_edi
  374.            dw    0        ;screen_no
  375.            dw    15      ; mozi_color
  376.            dw    75      ; 書き出し位置  x
  377.            dw    10      ;          y
  378.            dw    0      ; next offset x
  379.            dw    100      ; next offset y
  380.     
  381.                dw   1      ; gyo suu
  382.                    db    'キャンセルは右ボタン',0
  383.                 dw 0,0
  384.  
  385. mozidt1:
  386.     call sub_edi
  387.            dw    0        ;screen_no
  388.            dw    15      ; mozi_color
  389.            dw    2+3      ; 書き出し位置  x
  390.            dw    55      ;          y
  391.            dw    32+1      ; next offset x
  392.            dw    0      ; next offset y
  393.     
  394.                dw   5      ; gyo suu
  395.                    db    'NO1',0
  396.                    db    'NO2',0
  397.                    db    'NO3',0
  398.                    db    'NO4',0
  399.                    db    'NO5',0
  400.                 dw 0,0
  401.  
  402.  
  403.  
  404.  
  405.  
  406.